""" 配置文件 """

# 国控点csv数据所在目录
dir_csv = r'E:\bigdata\gkd\china_sites_csv'
# dir_csv = r'D:\gkd\china_sites_csv'

# 国控点hdf5数据所在目录
# dir_hdf5 = r'E:\bigdata\gkd\china_sites_hdf5'
dir_hdf5 = r'E:\bigdata\gkd\china_sites_hdf5__'
# dir_hdf5 = r'D:\gkd\china_sites_hdf5'

# 站点数据所在列表
path_site_list = 'NewSiteList.csv'

# 数据导出时的默认路径
dir_default_save = r'E:\bigdata\gkd'

# 物种列表
list_species = ['PM2.5', 'PM10', 'O3', 'NO2', 'CO', 'SO2', 'AQI']

# 物种上下标对应字典-Latex，可应用至Matplotlib作图
dict_sp2ecies_latex = {
    'PM2.5': 'PM$_{2.5}$',
    'PM10': 'PM$_{10}$',
    'O3': 'O$_{3}$',
    'NO2': 'NO$_{2}$',
    'SO2': 'SO$_{2}$',
}

# 物种上下标对应字典-html
# dict_sp2ecies_html = {
#     'PM2.5': 'PM$_{2.5}$', 
#     # 'PM2.5': 'PM<sub>2.5</sub>', 
#     'PM10': 'PM<sub>10</sub>', 
#     'O3': 'O<sub>3</sub>',
#     'NO2': 'NO<sub>2</sub>',
#     'CO': 'CO',
#     'SO2': 'SO<sub>2</sub>',
#     'AQI': 'AQI',
# }

# 统计有效性标准（默认值）
dict_stat_standard = {
    "min_num_annual": 324,  # 统计年均值/分位数时至少包含的天数，国标为：324
    "min_num_seasonal": 60,  # 统计季节均值/分位数时至少包含的天数，无国标，默认为：60
    "min_num_monthly": 27,  # 统计月均值/分位数时至少包含的天数，国标为：27（2月为25）
    "min_num_daily": 20,  # 统计日均值时至少包含的小时数据，国标为：20
    "min_num_8h": 14,  # 统计MDA8时至少包含的8小时滑动均值数据个数，国标为：14
    "min_num_moving_avg": 6,  # 统计MDA8时每个滑动均值包含的小时数据，国标为：6
}

# 百分位数


# logo所在路径
path_logo = r'logo.png'
# path_logo = r'E:\bigdata\gkd\china_sites_hdf5_\leaf.png'


# 作图画布尺寸
canvas_size = (1280, 800)

# 作图dpi
dpi = 100

# 空气质量指数AQI区分污染程度的bins
bins = [0, 50, 100, 150, 200, 300, 500]

# 污染程度列表
list_pollution_level = ['优', '良', '轻度污染', '中度污染', '重度污染', '严重污染']

# 不同污染程度对应的颜色列表
list_color_pollution_level = ['#66c430', '#e9da2e', '#f57217', '#ee1c25', '#66247b', '#8a2327']

# 物种颜色列表，分别对应'O3', 'SO2', 'NO2', 'CO', 'PM10', 'PM2.5', 'AQI≤50'
list_color_primary_pollutant = ['#7ac70c', '#faa918', '#d33131', '#1cb0f6', '#8549ba', '#4c4c4c', '#bfbfbf']

# 首要污染物占比图中是否考虑AQI≤50的情况
primary_pollutant_consider_aqi_lt_50 = False

# Geo图的底色, 支持透明色'transparent'
color_geo_background = 'transparent'

# Geo图Scatter点大小
scatter_size_geo = 6

# PM2.5年均浓度使用的colormap
pieces_pm2p5 = [
    {'lte': 5, 'color': '#0000ff'},
    {'gte': 6, 'lte': 15, 'color': '#00ffff'},
    {'gte': 16, 'lte': 35, 'color': '#00ff00'},
    {'gte': 36, 'lte': 55, 'color': '#ffff00'},
    {'gte': 56, 'lte': 75, 'color': '#ff8000'},
    {'gte': 76, 'lte': 100, 'color': '#ff0000'},
    {'gt': 100, 'color': '#ff00ff'},
]

# PM10年均浓度使用的colormap
pieces_pm10 = [
    {'lte': 20, 'color': '#0000ff'},
    {'gte': 21, 'lte': 40, 'color': '#00ffff'},
    {'gte': 41, 'lte': 70, 'color': '#00ff00'},
    {'gte': 71, 'lte': 100, 'color': '#ffff00'},
    {'gte': 101, 'lte': 120, 'color': '#ff8000'},
    {'gte': 121, 'lte': 150, 'color': '#ff0000'},
    {'gt': 150, 'color': '#ff00ff'},
]

# O3年均浓度使用的colormap
pieces_o3 = [
    {'lte': 60, 'color': '#0000ff'},
    {'gte': 61, 'lte': 80, 'color': '#00ffff'},
    {'gte': 81, 'lte': 90, 'color': '#00ff00'},
    {'gte': 91, 'lte': 100, 'color': '#ffff00'},
    {'gte': 101, 'lte': 110, 'color': '#ff8000'},
    {'gte': 111, 'lte': 120, 'color': '#ff0000'},
    {'gt': 120, 'color': '#ff00ff'},
]

# O3年评价浓度（90分位数）使用的colormap
pieces_o3_90th = [
    {'lte': 100, 'color': '#0000ff'},
    {'gte': 101, 'lte': 120, 'color': '#00ffff'},
    {'gte': 121, 'lte': 140, 'color': '#00ff00'},
    {'gte': 141, 'lte': 160, 'color': '#ffff00'},
    {'gte': 161, 'lte': 180, 'color': '#ff8000'},
    {'gte': 181, 'lte': 200, 'color': '#ff0000'},
    {'gt': 200, 'color': '#ff00ff'},
]

# NO2年均浓度使用的colormap
pieces_no2 = [
    {'lte': 5, 'color': '#0000ff'},
    {'gte': 6, 'lte': 10, 'color': '#00ffff'},
    {'gte': 11, 'lte': 20, 'color': '#00ff00'},
    {'gte': 21, 'lte': 30, 'color': '#ffff00'},
    {'gte': 31, 'lte': 40, 'color': '#ff8000'},
    {'gte': 41, 'lte': 60, 'color': '#ff0000'},
    {'gt': 60, 'color': '#ff00ff'},
]

# SO2年均浓度使用的colormap
pieces_so2 = [
    {'lte': 3, 'color': '#0000ff'},
    {'gte': 4, 'lte': 5, 'color': '#00ffff'},
    {'gte': 6, 'lte': 7, 'color': '#00ff00'},
    {'gte': 8, 'lte': 10, 'color': '#ffff00'},
    {'gte': 11, 'lte': 25, 'color': '#ff8000'},
    {'gte': 26, 'lte': 50, 'color': '#ff0000'},
    {'gt': 50, 'color': '#ff00ff'},
]

# CO年均浓度使用的colormap
pieces_co = [
    {'lte': 0.3, 'color': '#0000ff'},
    {'gte': 0.4, 'lte': 0.5, 'color': '#00ffff'},
    {'gte': 0.6, 'lte': 0.7, 'color': '#00ff00'},
    {'gte': 0.8, 'lte': 1.0, 'color': '#ffff00'},
    {'gte': 1.1, 'lte': 1.4, 'color': '#ff8000'},
    {'gte': 1.5, 'lte': 2.0, 'color': '#ff0000'},
    {'gt': 2.0, 'color': '#ff00ff'},
]

# CO年评价浓度（95分位数）使用的colormap
pieces_co_95th = [
    {'lte': 0.5, 'color': '#0000ff'},
    {'gte': 0.6, 'lte': 0.8, 'color': '#00ffff'},
    {'gte': 0.9, 'lte': 1.2, 'color': '#00ff00'},
    {'gte': 1.3, 'lte': 1.6, 'color': '#ffff00'},
    {'gte': 1.7, 'lte': 2.2, 'color': '#ff8000'},
    {'gte': 2.3, 'lte': 3.0, 'color': '#ff0000'},
    {'gt': 3.0, 'color': '#ff00ff'},
]

""" 快捷设置 """
dict_shortcut = {
    '设置1': {
        'dt_range': ['2015-01-01', '2022-12-31'],
        'dict_stat_standard': {
            "min_num_annual": 324,  # 统计年均值/分位数时至少包含的天数，国标为：324
            "min_num_seasonal": 60,  # 统计季节均值/分位数时至少包含的天数，无国标，默认为：60
            "min_num_monthly": 27,  # 统计月均值/分位数时至少包含的天数，国标为：27（2月为25）
            "min_num_daily": 20,  # 统计日均值时至少包含的小时数据，国标为：20
            "min_num_8h": 14,  # 统计MDA8时至少包含的8小时滑动均值数据个数，国标为：14
            "min_num_moving_avg": 6,  # 统计MDA8时每个滑动均值包含的小时数据，国标为：6
        },
        'site_type': 'urban',  # urban/background/both
        'time_resolution': '原始',  # 原始/日/月/季/年
        'region_level': '站点',  # 站点/市/省
        'stat_standard': '均值',  # 均值/百分位数
        'o3-mda8': '是',  # 是/否
    },
}

if __name__ == '__main__':

    import pandas as pd

    a = pd.to_datetime('2015-01-01')
    if isinstance(a, pd.Timestamp):
        print(type(a), a)
    pass
